package entity

import (
	"time"

	"shqsoft.cn/pasnj/base"
)

//MYRZDKYW 贸易贷款
type MYRZDKYW struct {
	JLID     int        `gorm:"AUTO_INCREMENT;primary_key;column:JLID"`
	Khmc     string     `gorm:"column:客户名称;size:60"`
	Xqydmddm string     `gorm:"column:新企业规模代码;size:60"`
	Hbdm     string     `gorm:"column:货币代码;size:60"`
	Huobi    string     `gorm:"column:货币;size:60"`
	Kmh      string     `gorm:"column:科目号;size:60"`
	Ssjg     string     `gorm:"column:所属机构;size:60"`
	Llsxdm   string     `gorm:"column:利率属性代码;size:60"`
	Zxll     string     `gorm:"column:执行利率;size:60"`
	Sfyqbz   string     `gorm:"column:是否逾期标志;size:60"`
	Sejfl    string     `gorm:"column:十二级分类评级结果代码;size:60"`
	Dqyefxdm string     `gorm:"column:当前余额方向代码;size:60"`
	Yqyefxdm string     `gorm:"column:逾期余额方向代码;size:60"`
	lxtzjd   string     `gorm:"column:利息调整借贷方向代码;size:60"`
	Ffrq     *time.Time `gorm:"column:发放日期;type:date;"`
	Fsrq     *time.Time `gorm:"column:发生日期;type:date;"`
	Dqrq     *time.Time `gorm:"column:到期日期;type:date;"`
	Yqrq     *time.Time `gorm:"column:逾期日期;type:date;"`
	Xcjxrq   *time.Time `gorm:"column:下次结息日期;type:date;"`
	Ffje     float64    `gorm:"column:发放金额"`
	Dqye     float64    `gorm:"column:当前余额"`
	Yqje     float64    `gorm:"column:逾期余额"`
	Zzzfje   float64    `gorm:"column:自主支付金额"`
	CUID     int        `gorm:"column:CUID"`
	// YG1      string     `gorm:"-"`
	// ZB1      *float64   `gorm:"-"`
	// YG2      string     `gorm:"-"`
	// ZB2      *float64   `gorm:"-"`
	// YG3      string     `gorm:"-"`
	// ZB3      *float64   `gorm:"-"`
	// YG4      string     `gorm:"-"`
	// ZB4      *float64   `gorm:"-"`
	// YG5      string     `gorm:"-"`
	// ZB5      *float64   `gorm:"-"`
}

//TableName User用户表名
func (MYRZDKYW) TableName() string {
	return "V_CM_TRADE_FIN_LOAN_DUBIL_SUM_M"

}

// MYRZDKYWEF 贸易融资贷款
func MYRZDKYWEF() base.EntityFunc {
	return func() interface{} {
		entity := MYRZDKYW{}
		return &entity
	}
}

// func (c *MYRZDKYW) AfterFind() (err error) {
// 	var share *cube.Share
// 	share, err = cube.GetShare("comp_qtzb_divi")
// 	if err != nil {
// 		return
// 	}
// 	var diviMap map[string]float64
// 	diviMap, err = share.GetDivision("12:" + strconv.Itoa(c.JLID))
// 	if err != nil {
// 		return
// 	}
// 	i := 0
// 	if diviMap == nil || len(diviMap) == 0 {
// 		share, err = cube.GetShare("comp_clie_divi")
// 		if err != nil {
// 			return
// 		}
// 		diviMap, err = share.GetDivision(strconv.Itoa(c.CUID))
// 		if err != nil {
// 			return
// 		}
// 	}
// 	for k, v := range diviMap {
// 		val := v
// 		i++
// 		switch i {
// 		case 1:
// 			c.YG1 = k
// 			c.ZB1 = &val
// 		case 2:
// 			c.YG2 = k
// 			c.ZB2 = &val
// 		case 3:
// 			c.YG3 = k
// 			c.ZB3 = &val
// 		case 4:
// 			c.YG4 = k
// 			c.ZB4 = &val
// 		case 5:
// 			c.YG5 = k
// 			c.ZB5 = &val
// 		default:
// 			break
// 		}
// 	}
// 	return
// }

//MYRZDKYWESF GJ
func MYRZDKYWESF() base.EntitiesFunc {
	return func() interface{} {
		var entities []MYRZDKYW
		return &entities
	}
}
func init() {
	dao := base.NewDefaultDao(MYRZDKYWEF(), MYRZDKYWESF(), nil)
	// filter := base.DefaultFilter{
	// 	FilterColName: "JLID",
	// 	TableName:     "T_COMP_QTZB_DIVI",
	// 	EmidColName:   "emid",
	// 	AcidColName:   "jlid",
	// 	WhereCause:    "ywid=12",
	// }
	// dao.Fileter = &filter
	base.DaoPoolObj.Put("MYRZDKYW", dao)
}
